package com.vhall.component.entity.exam.vo;

import com.vhall.component.framework.common.annotation.ParamName;
import com.vhall.component.plugin.common.annotation.CheckTimeInterval;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * @author guoxin.wang
 * @date 2021-08-19 17:58
 */
@Data
@CheckTimeInterval(startTime = "beginTime")
public class ExamConsoleListReqVo implements Serializable {

    private static final long serialVersionUID = -2627688272784403632L;

    @ParamName("room_id")
    @Size(max = 15, message = "room_id参数值过长")
    private String roomId;

    @ParamName("account_id")
    private Integer accountId;

    @ParamName("keyword")
    private String keyword;

    @ParamName("from_room_id")
    private Integer fromRoomId;

    @ParamName("answer_account_id")
    private Integer answerAccountId;

    @ParamName("page")
    private Integer page = 1;

    @ParamName("page_size")
    private Integer pageSize = 10;

    @ParamName("start_time")
    private String beginTime;

    @ParamName("end_time")
    private String endTime;

    @ParamName("publish")
    @Min(0)
    @Max(1)
    private Integer publish;

    @ParamName("is_finish")
    private Integer isFinish;

    @ParamName("is_grade")
    private Integer isGrade;

    @ParamName("is_push_grade")
    private Integer isPushGrade;

    @ParamName("status")
    @Min(1)
    @Max(5)
    private Integer status;

    /**
     * 上边是页面传递过来的参数，下边是逻辑中要用到的参数
     */
    private Integer type;
}
